<?xml version='1.0' encoding='utf-8' ?>
<!--  If you are running a bot please visit this policy page outlining rules you must respect. https://www.livejournal.com/bots/  -->
<rss version='2.0'  xmlns:lj='http://www.livejournal.org/rss/lj/1.0/' xmlns:media='http://search.yahoo.com/mrss/' xmlns:atom10='http://www.w3.org/2005/Atom'>
<channel>
  <title>Заметки перфекциониста</title>
  <link>https://8vmr.livejournal.com/</link>
  <description>Заметки перфекциониста - LiveJournal.com</description>
  <lastBuildDate>Wed, 30 Mar 2011 20:11:37 GMT</lastBuildDate>
  <generator>LiveJournal / LiveJournal.com</generator>
  <lj:journal>8vmr</lj:journal>
  <lj:journalid>14736462</lj:journalid>
  <lj:journaltype>personal</lj:journaltype>
  <image>
    <url>https://l-userpic.livejournal.com/79626706/14736462</url>
    <title>Заметки перфекциониста</title>
    <link>https://8vmr.livejournal.com/</link>
    <width>100</width>
    <height>100</height>
  </image>

  <item>
  <guid isPermaLink='true'>https://8vmr.livejournal.com/16528.html</guid>
  <pubDate>Wed, 30 Mar 2011 20:11:37 GMT</pubDate>
  <title>Сдохла моя X-Fi XM</title>
  <author>8vmr</author>
  <link>https://8vmr.livejournal.com/16528.html</link>
  <description>Конечно видел в инетах жалобы на встроенный звук, но не думал, что все настолько плохо.... А между прочим, в обзорах на метеринку хвалили встроенную звуковуху, мол, на достойном уровне.&lt;br /&gt;Разницу слышно сразу: как будто сидишь в шерстяной шапке, на которую надеты наушники. Или же в наушники набили ваты (завал ВЧ). Басы стали громче, но потеряли четкость чтоли. Они как бы и есть, но больше стали похоже на просто гул.&lt;br /&gt;&lt;br /&gt;Смотрю в сторону Xonar D2...&lt;br /&gt;Нет, я не гонюсь за &quot;теплым ламповым звуком&quot;. Меня вполне устраивал младший X-Fi XtremeMusic. Просто меня ЗАДРАЛИ ГЛЮЧНЫЕ ДРАЙВЕРА от Кривотива.</description>
  <comments>https://8vmr.livejournal.com/16528.html?view=comments#comments</comments>
  <lj:mood>bored</lj:mood>
  <lj:security>public</lj:security>
  <lj:reply-count>5</lj:reply-count>
  </item>
  <item>
  <guid isPermaLink='true'>https://8vmr.livejournal.com/15688.html</guid>
  <pubDate>Fri, 29 Oct 2010 18:24:01 GMT</pubDate>
  <title>Outpost7</title>
  <author>8vmr</author>
  <link>https://8vmr.livejournal.com/15688.html</link>
  <description>Недавно обновился на новенький Outpost 7.04. Уж лучше б этого не делал...&lt;br /&gt;Зависоны начались еще с инсталлятора.... он ставился минут десять! Точнее не ставился, а висел, долго раздумывая ставить/не ставить. Далее просто посреди работы, без какой либо видимой причины, комп начал зависать. Поработает с полчаса — и на отдых. А в чувство приводится только резетом. Полное отключение фаерволла не спасло — очевидно что глюк где-то в минидрайвере (или как оно там) сетевых интерфейсов.&lt;br /&gt;&lt;br /&gt;Новые глюки проассоциировались с новым фаерволлом сразу — ведь раньше такого никогда небыло. Помучившись еще пару дней с настройками и отключениями всего и вся, решил прекратить это безобразие. Почему-то деинсталлятор, который висел 10 минут меня не удивил.&lt;br /&gt;&lt;br /&gt;Вот теперь я без фаерволла. Вообще. Даже антивируса нет.&lt;br /&gt;Зато как быстрее начала работать машина! Винда грузится быстрее, все приложения стартуют моментально, торрент никогда не отнимает 100%CPU... Никогда бы не подумал, что просто фаерволл может аж настолько все тормозить!&lt;br /&gt;&lt;br /&gt;Забавно, что в каждой новой версии агнитумовцы пишут, что &quot;кардинально снижена загрузка процессора и значительно увеличена производительность и стабильность брандмауэра&quot;. &lt;br /&gt;&lt;br /&gt;Теперь думаю, либо ставить Outpost 2009 Free(хм, лишний тормоз?), либо настраивать штатный виндовый фаер — в семерке он значительно похорошал (эх, ему бы еще вменяемый интерфейс)...</description>
  <comments>https://8vmr.livejournal.com/15688.html?view=comments#comments</comments>
  <category>всякое</category>
  <category>security</category>
  <lj:security>public</lj:security>
  <lj:reply-count>2</lj:reply-count>
  </item>
  <item>
  <guid isPermaLink='true'>https://8vmr.livejournal.com/15505.html</guid>
  <pubDate>Wed, 12 May 2010 20:52:02 GMT</pubDate>
  <title>Про XSS</title>
  <author>8vmr</author>
  <link>https://8vmr.livejournal.com/15505.html</link>
  <description>Замечательная флешка, все красиво и доходчиво (правда, на английском):&lt;br /&gt;&lt;a target=&apos;_blank&apos; href=&apos;http://www.virtualforge.de/vmovie.php&apos; rel=&apos;nofollow&apos;&gt;http://www.virtualforge.de/vmovie.php&lt;/a&gt;</description>
  <comments>https://8vmr.livejournal.com/15505.html?view=comments#comments</comments>
  <category>web</category>
  <category>xss</category>
  <category>security</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
  </item>
  <item>
  <guid isPermaLink='true'>https://8vmr.livejournal.com/15307.html</guid>
  <pubDate>Mon, 10 May 2010 08:09:07 GMT</pubDate>
  <title>Помним...</title>
  <author>8vmr</author>
  <link>https://8vmr.livejournal.com/15307.html</link>
  <description>&lt;lj-embed id=&quot;11&quot; /&gt;</description>
  <comments>https://8vmr.livejournal.com/15307.html?view=comments#comments</comments>
  <category>другое</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
  </item>
  <item>
  <guid isPermaLink='true'>https://8vmr.livejournal.com/15040.html</guid>
  <pubDate>Mon, 29 Mar 2010 19:04:46 GMT</pubDate>
  <title>Замечательно!</title>
  <author>8vmr</author>
  <link>https://8vmr.livejournal.com/15040.html</link>
  <description>&lt;lj-embed id=&quot;12&quot; /&gt;</description>
  <comments>https://8vmr.livejournal.com/15040.html?view=comments#comments</comments>
  <category>всякое</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
  </item>
  <item>
  <guid isPermaLink='true'>https://8vmr.livejournal.com/14623.html</guid>
  <pubDate>Sat, 05 Dec 2009 17:37:48 GMT</pubDate>
  <author>8vmr</author>
  <link>https://8vmr.livejournal.com/14623.html</link>
  <description>Все люди делятся на две группы - те, кто делает бэкапы, и те, кто будет их делать.</description>
  <comments>https://8vmr.livejournal.com/14623.html?view=comments#comments</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
  </item>
  <item>
  <guid isPermaLink='true'>https://8vmr.livejournal.com/14521.html</guid>
  <pubDate>Tue, 01 Dec 2009 11:42:36 GMT</pubDate>
  <title>Гугл учит плохому</title>
  <author>8vmr</author>
  <link>https://8vmr.livejournal.com/14521.html</link>
  <description>Собственно вот: &lt;a href=&quot;http://code.google.com/intl/ru-RU/speed/articles/optimizing-html.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;Reducing the file size of HTML documents&lt;/a&gt;&lt;br /&gt;Уменьшить ХТМЛ это конечно хорошо, но не путем же уродования православного и идеологически верного XHTML, преобразуя его в еретичный говно-HTML 4.0!</description>
  <comments>https://8vmr.livejournal.com/14521.html?view=comments#comments</comments>
  <category>web</category>
  <lj:security>public</lj:security>
  <lj:reply-count>4</lj:reply-count>
  </item>
  <item>
  <guid isPermaLink='true'>https://8vmr.livejournal.com/14179.html</guid>
  <pubDate>Thu, 30 Jul 2009 10:44:25 GMT</pubDate>
  <title>One large step for open source code...</title>
  <author>8vmr</author>
  <link>https://8vmr.livejournal.com/14179.html</link>
  <description>&lt;p&gt;К 40-летию мисии Apollo 11 (да, той самой с высадкой человеков на Луну) в гуглокоде были опубликованы исходные коды командного(Comanche054) и лунного(Luminary099) модуля.&lt;/p&gt;

&lt;p&gt;Собственно коды модулей, а также виртуальной машины &lt;a href=&quot;http://en.wikipedia.org/wiki/Apollo_Guidance_Computer&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;AGC&lt;/a&gt; можно найти &lt;a href=&quot;http://code.google.com/p/virtualagc/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;тут&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Интересно:&lt;/p&gt;
&lt;p&gt;Вот что написано в википедии (офф. версия):&lt;/p&gt;
&lt;p style=&quot;padding:0.7em; border: 1px dashed #2f6fab; font-family: &amp;apos;Courier New&amp;apos;, Courier, monospace; font-weight: normal; background-color:#f9f9f9; &quot;&gt;&lt;i&gt;Фактически Армстронг перешёл на ручной режим управления спуском гораздо раньше, поскольку бортовой компьютер работал с перегрузкой, и всё время горел аварийный сигнал, нервировавший экипаж, несмотря на заверения наземного оператора, что на сигнал можно не обращать внимания (позже оператор, принявший решение несмотря на аварийные сигналы, не отказываться от посадки на Луну, получил специальную награду NASA).&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Хотя по слухам (найду источник - уточню) это был просто баг в программе.&lt;/p&gt;

А вот забавный кусочек кода оттуда же:
&lt;p&gt;&lt;code style=&quot;padding:0.7em; border: 1px dashed #2f6fab; font-family: &amp;apos;Courier New&amp;apos;, Courier, monospace; font-weight: normal; background-color:#f9f9f9; overflow: auto; display: block; white-space: nowrap;&quot;&gt;VRTSTART  TS  WCHVERT&lt;br /&gt;
# Page 801&lt;br /&gt;
    CAF  TWO    # WCHPHASE = 2 ---&amp;gt; VERTICAL: P65,P66,P67&lt;br /&gt;
    TS  WCHPHOLD&lt;br /&gt;
    TS  WCHPHASE&lt;br /&gt;
    TC  BANKCALL    # TEMPORARY, I HOPE HOPE HOPE&lt;br /&gt;
    CADR  STOPRATE  # TEMPORARY, I HOPE HOPE HOPE&lt;br /&gt;
    TC  DOWNFLAG    # PERMIT X-AXIS OVERRIDE&lt;br /&gt;
    ADRES  XOVINFLG&lt;br /&gt;
    TC  DOWNFLAG&lt;br /&gt;
    ADRES  REDFLAG&lt;br /&gt;
    TCF  VERTGUID
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;В проект вложено столько веры и надежды, на этом и долетели :)&lt;/p&gt;</description>
  <comments>https://8vmr.livejournal.com/14179.html?view=comments#comments</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
  </item>
  <item>
  <guid isPermaLink='true'>https://8vmr.livejournal.com/13410.html</guid>
  <pubDate>Thu, 09 Jul 2009 14:44:49 GMT</pubDate>
  <title>www.govnocode.com</title>
  <author>8vmr</author>
  <link>https://8vmr.livejournal.com/13410.html</link>
  <description>&lt;img src=&quot;https://imgprx.livejournal.net/ac17de34f3519adbef3e0364ef164fe573eb499a/4su6aF4hvhJtNdpq-4ceXIWpbz8A6J-VTiBPyiWgVa5T9WDGK7JOK8kXlMA10nWfD63Jeoa3p8aFbQ1RGskoplzQSXjdMY9AgRUNqodV349wgMmXUeC0BYUrhxhX7oAK&quot; width=&quot;238&quot; height=&quot;73&quot; border=&quot;0&quot; style=&quot;float: right&quot; vspace=&quot;10px&quot; hspace=&quot;10px&quot; alt=&quot;Govnkocode&quot; fetchpriority=&quot;high&quot; /&gt;Сегодня утром от работы меня отвлек смех из соседней комнаты: смеялись долго и громко. Заинтриговавшись причиной оваций решил сходить посмотреть в чем же дело. Как оказалось, девчонки смеялись над смешным и новым для них словом — govnocode. Я же посмеялся над &quot;красивым&quot; дефейсом и задумкой.&lt;br /&gt;&lt;br /&gt;Ранее я &lt;a href=&quot;http://8vmr.livejournal.com/12581.html&quot; title=&quot;Wicked, Wicked Web&quot; target=&quot;_blank&quot;&gt;писал&lt;/a&gt; о найденных мною многочисленных уязвимостях на софтварных архивах. Этот сайт как раз оказался них.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Итак, любуйтесь(обратите внимание на адресную строку в браузере и на содержание страниц):&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://imgprx.livejournal.net/020e3a82d62767d1987348980a5b0f74b6607311/4su6aF4hvhJtNdpq-4ceXIWpbz8A6J-VTiBPyiWgVa5T9WDGK7JOK8kXlMA10nWfJm_TKS9cW5eSn4aSQW8s6wf94f0RA8LtshbvmglwPF0FeSbggp43eLRfw7ufV6Sm&quot; width=&quot;747&quot; height=&quot;372&quot; alt=&quot;Govnocode&quot; loading=&quot;lazy&quot; /&gt; &lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://imgprx.livejournal.net/d829fc4728321db4a7b0caea753659d5f4704ecc/4su6aF4hvhJtNdpq-4ceXIWpbz8A6J-VTiBPyiWgVa5T9WDGK7JOK8kXlMA10nWfJm_TKS9cW5eSn4aSQW8s66aLVLFXz0g06kEAfDmI70BKuY6Prw9hamoE0qDjvN6O&quot; width=&quot;747&quot; height=&quot;372&quot; alt=&quot;Govnocode&quot; loading=&quot;lazy&quot; /&gt; &lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://imgprx.livejournal.net/aa9601a712cfccea8895ecb589dc8a2eec2eac8f/4su6aF4hvhJtNdpq-4ceXIWpbz8A6J-VTiBPyiWgVa5T9WDGK7JOK8kXlMA10nWfJm_TKS9cW5eSn4aSQW8s66qrRKcNEaZMpn3sb_nKjpqriDAMVp_ESexiMZzAb0Ay&quot; width=&quot;747&quot; height=&quot;372&quot; alt=&quot;Govnocode&quot; loading=&quot;lazy&quot; /&gt; &lt;br /&gt;&lt;br /&gt;&lt;a name=&apos;cutid1-end&apos;&gt;&lt;/a&gt;</description>
  <comments>https://8vmr.livejournal.com/13410.html?view=comments#comments</comments>
  <category>web</category>
  <category>security</category>
  <media:title type="plain">Bon Jovi - Diamond Ring</media:title>
  <lj:music>Bon Jovi - Diamond Ring</lj:music>
  <lj:security>public</lj:security>
  <lj:reply-count>3</lj:reply-count>
  </item>
  <item>
  <guid isPermaLink='true'>https://8vmr.livejournal.com/12989.html</guid>
  <pubDate>Thu, 02 Apr 2009 20:24:50 GMT</pubDate>
  <title>Где мой CSS ???</title>
  <author>8vmr</author>
  <link>https://8vmr.livejournal.com/12989.html</link>
  <description>&lt;img src=&quot;https://l-stat.livejournal.com/img/frank-eating-papers.gif&quot; width=&quot;200&quot; height=&quot;160&quot; border=&quot;0&quot; style=&quot;float: right&quot; vspace=&quot;10px&quot; hspace=&quot;10px&quot; alt=&quot;Lost&quot; fetchpriority=&quot;high&quot; /&gt;
&lt;p&gt;Ну какой толк от ЖЖ-шного &lt;a href=&quot;http://www.livejournal.com/customize/options.bml?group=customcss&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Custom CSS&lt;/a&gt;, если сия фича работает только для заглавной страницы?&lt;/p&gt;

&lt;p&gt;Баг так баг. Только с заподлянкой. Дело в том, что фича исправно работает еще и при предпросмотре: отредактировал новый пост, глянул — все отлично. Отправил на печать, глянул в журнале — все как надо. А вот горькую правду узнаешь только спустя некоторое время, когда зайдешь на страницу статьи и в комментарии...&lt;/p&gt;

&lt;p&gt;... вот и пришлось переписать всю подсветку синтаксиса в предыдущем посте...&lt;/p&gt;</description>
  <comments>https://8vmr.livejournal.com/12989.html?view=comments#comments</comments>
  <category>web</category>
  <category>wtf</category>
  <category>жы-журнал</category>
  <media:title type="plain">WT - What You Have Done</media:title>
  <lj:music>WT - What You Have Done</lj:music>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
  </item>
  <item>
  <guid isPermaLink='true'>https://8vmr.livejournal.com/12581.html</guid>
  <pubDate>Thu, 02 Apr 2009 19:45:37 GMT</pubDate>
  <title>Wicked, Wicked Web</title>
  <author>8vmr</author>
  <link>https://8vmr.livejournal.com/12581.html</link>
  <description>&lt;img src=&quot;https://imgprx.livejournal.net/196ae2213bcb71afdea71f40d58774ef542398e4/4su6aF4hvhJtNdpq-4ceXIWpbz8A6J-VTiBPyiWgVa5T9WDGK7JOK8kXlMA10nWfaZcJL9v8-Kr1tv1SEVExGOsjXKlAyP795HubHejxQMPhBpU0yPdOukuvG5O8ZNPM&quot; width=&quot;200&quot; height=&quot;200&quot; border=&quot;0&quot; style=&quot;float: right&quot; vspace=&quot;10px&quot; hspace=&quot;10px&quot; alt=&quot;Wicked, Wicked Web&quot; fetchpriority=&quot;high&quot; /&gt;

&lt;p&gt;Вот уже скоро будет год, как я начал заниматься вебдевелопингом. Скажу сразу, что веб не является моей основной профессией — я по прежнему делфи-программист. А веб — это как часть моей широкопрофильности :)&lt;br /&gt;
За год довольно много чему научился, приобрел опыт. Чем и хочу поделиться.&lt;/p&gt;

&lt;h3&gt;Спам.&lt;/h3&gt;
&lt;p&gt;Многие решают стандартным способом — обязывают пользователя вводить капчу. Способ надежный и проверенный, но, тем не менее, не лишенный недостатков: во-первых, лишний напряг честному пользователю, а во-вторых, это надо еще специальные скрипты ставить (ну я до сих пор не знаю, как это реализовано, потому для меня это пока сложно :).&lt;/p&gt;

&lt;p&gt;Тем не менее, со спамом можно бороться и без капчи. Способ очень простой и довольно известный: на форме есть скрытое поле, назовем его &lt;i&gt;ver-code&lt;/i&gt;, заполненное заранее известным значением. Значение меняется раз в день/неделю/месяц. При постинге скрипт проверяет это значение и если оно не совпадает, посылает спам-бота куда подальше. Суть метода заключается в том, что спаммеры не успевают обновлять свои базы и постят, используя старый &lt;i&gt;ver-code&lt;/i&gt; либо вовсе без него. Конечно, это не спасает от более умных ботов, которые каждый раз загружают страницу, но поверьте, спам сократится в разы — проверенно на собственном опыте. Также есть очень малая вероятность, что за бота примут добропорядочного пользователя: в этом случае матюганы в сторону бота меняем на вежливую просьбу перезагрузить(Refresh) страницу и повторить попытку — боту то все-равно, а вот пользователь поймет вас правильно :)&lt;/p&gt;

&lt;p&gt;Также есть вполне рабочий способ, не использующий капчу, и в то же время использующий ее.  Все банально: вместо капчи вешаем статическую картинку. Все. Чтоб боты прошли такую тривиальную защиту нужно, чтоб кто-то постарался. А именно увидел, что капча не меняется, оторвал свою пятую точку,  и подкрутил настройки спаммерского ПО.  Но кто это будет делать для сайта vasia.pupkin.org?  Сей метод уже более полугода работает для &lt;a href=&quot;http://submit-everywhere.com&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;сайта&lt;/a&gt;, и никого спама я не видел (точнее видел в логах, подробнее &lt;a href=&quot;http://8vmr.livejournal.com/9915.html&quot; title=&quot;Забавный спам&quot; target=&quot;_blank&quot;&gt;тут&lt;/a&gt;). Хех, интересно то, что несколько клиентов сообщали о &quot;заклинившей&quot; капче :)&lt;/p&gt;

&lt;h3&gt;Безопасность&lt;/h3&gt;
&lt;p&gt;Первое правило: никогда не доверяй клиентской стороне. Это учат в школе. Этим прожужжали все уши. И тем не менее многие вебдевелоперы допускают ошибки.&lt;p&gt;

&lt;p&gt;Думаете что если вы владелец http://vasia.pupkin.org то его никто не будет ломать? А вот и ошибаетесь. Не хакер, так бэд-бот: будьте готовы, что ваш сайт начнут пробовать на прочность несколько десятков раз в день. Бэд-боты как любые другие &lt;a href=&quot;http://en.wikipedia.org/wiki/Web_crawler&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;краулеры&lt;/a&gt; гуляют по сети и пробуют сайты на уязвимости: будь то известные дыры в различных &lt;a href=&quot;http://ru.wikipedia.org/wiki/Система_управления_содержимым&quot; title=&quot;Система управления содержимым&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;CMS&lt;/a&gt; или стандартный набор &lt;a href=&quot;http://ru.wikipedia.org/wiki/Внедрение_SQL-кода&quot; title=&quot;Внедрение SQL-кода&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;SQL-injection&lt;/a&gt; — вся информация о найденных брешах отправляется создателю бота, а он уже придумает, что с вами делать.&lt;/p&gt;

&lt;p&gt;Думаете, что если у вас все входящие данные экранируются, то SQL-injection не страшен? А про то, что в SQL&apos;е все это нужно обернуть в апострофы не забыли? Я на вот этом и попался. Модифицированный пример из википедии:&lt;/p&gt;
&lt;code style=&quot;padding:0.7em; border: 1px dashed #2f6fab; font-family: &amp;apos;Courier New&amp;apos;, Courier, monospace; font-weight: normal; background-color:#f9f9f9; overflow: auto; display: block; white-space: nowrap;&quot;&gt;
&lt;span style=&quot;color: blue;&quot;&gt;$id&lt;/span&gt; = mysql_real_escape_string(&lt;span style=&quot;color: blue;&quot;&gt;$_REQUEST&lt;/span&gt;[&lt;span style=&quot;color: red;&quot;&gt;&apos;id&apos;&lt;/span&gt;]);&lt;br /&gt;

&lt;span style=&quot;color: blue;&quot;&gt;$res&lt;/span&gt; = mysql_query(&lt;span style=&quot;color: red;&quot;&gt;&quot;SELECT * FROM news WHERE id_news = $id&quot;&lt;/span&gt;);
&lt;/code&gt;
&lt;p&gt;Вроде экранирование есть, но дыра так и осталась не прикрытой: если в &lt;i&gt;id&lt;/i&gt; передать &lt;i&gt;&quot;-1 OR 1=1&quot;&lt;/i&gt; то вместо новости с заданным идентификатором будут выбраны все имеющиеся в базе новости.&lt;/p&gt;

&lt;p&gt;Хорошо, что &lt;a href=&quot;http://padsites.asp-software.org&quot; title=&quot;Он-лайн база по всем даунлоад-архивам&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;сайт&lt;/a&gt; сделан вручную, без никаких &lt;i&gt;CMS&lt;/i&gt; — ошибка не стала уязвимостью, и никак себя не проявляла. Вообще хорошее правило вместо универсального &lt;i&gt;&quot;SELECT * FROM Table&quot;&lt;/i&gt; выбирать только то, что требуется в данный момент: &lt;i&gt;&quot;SELECT field1, field2 FROM Table&quot;&lt;/i&gt;. &lt;/p&gt;

&lt;p&gt;А еще хорошим правилом является просмотр логов, благодаря коим и была выявлена эта ошибка. Вообще логирование — очень важная штука. Думаю, это все знают и понимают: будь то ругательства MySQL-ля, ерроры в скриптах, или что-то еще — все нужно логировать. Но также будет очень полезным записывать и все &quot;подозрительные&quot; запросы, смахивающие на попытки взлома системы: кроме того, что можно всегда быть в курсе ее состояния (или хотя бы знать, что же с ней произошло :), так еще и параноидальный админ (прям как я:) сможет вовремя увидеть и быстренько подлатать брешь или сомнительный участок. А такие участки были мною исправлены....  &quot;Подозрительность&quot; определяется просто: например, если там где должно быть целочисленное поле идет что-то левое. В таком случае ругаемся пользователю и тихонечко пишем в лог. Такая штука полезна и для определения &quot;а была ли попытка взлома?&quot; — всегда можно посмотреть access-логи и восстановить полную картину: вполне возможно, что не все записалось и часть действий хакера осталась незамечена (и никак не обработана/заблокирована!).&lt;/p&gt;

&lt;p&gt;Ни в коем случае нельзя показывать пользователю интимные подробности произошедшей ошибки — это то и хакерам нужно. Казалось бы все и так знают, и у всех так сделано. Не у всех. В нете полно сайтов дающих интим, если умело попросить :). Приведу пример не так давно обнаруженных мною уязвимостей на ряде сайтов. Скажите, вы всегда проверяете валидность загружаемых файлов? А когда работаете с загруженным контентом придерживаетесь правил защиты от SQL-injection? А вот почти каждый десятый &lt;a href=&quot;http://padsites.asp-software.org&quot; title=&quot;Download Sites List&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;даунлоад-архив&lt;/a&gt; (всего таких больше сотни) валится при попытке засабмитить &lt;a href=&quot;http://www.asp-software.org/pad/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;PAD-файл&lt;/a&gt; (XML-файл с описанием продукта) в нужном поле которого оказалась одинарная кавычка. Причем большинство из них как раз выдают пользователю те самые интимные подробности формата таблицы БД, куда все это дело не удалось добавить.&lt;/p&gt;

&lt;h3&gt;PHP-Apache&lt;/h3&gt;
&lt;p&gt;Эта связка глючная. Причем безнадежно.  В одной версии фиксят баг — он появляется в следующей, причем приводит с собой еще семеро.&lt;/p&gt;

&lt;p&gt;Нельзя быть уверенным, что скрипты прекрасно работающие в одной верcии, успешно заведутся на следующей. Взять, например &lt;i&gt;server-side includes&lt;/i&gt;. Я нашел три баг-репорта для разных версий (!!!) и везде они были пофиксены и везде предлагали скачать свежий CVS-снапшот.  Хотя у меня была версия, для которой &quot;якобы&quot; этот баг был исправлен, но, увы, можно было отправлять и четвертый баг-репорт...  Та же история и с оверрайдом 404-го статус-кода на обработчике &lt;i&gt;ErrorDocument&lt;/i&gt;: в одной версии работает, в более поздней — нет, причем баг-фикс идет где-то посередине. Хорошо, когда такой баг проявляется только на одном сайте/скрипте к которому имеешь доступ. Гораздо хуже, когда пользователь не может установить и заставить работать твой &quot;бажный&quot; скрипт (как было с &lt;a href=&quot;http://dynamicpad.org&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;DynamicPAD&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;Ни в коем случае нельзя слепо копипастить куски php-кода из тематических форумов и туторных сайтов — себе же дороже будет. Здесь несколько другая ситуация чем с другими ЯП: php — это серверный скрипт, требующий особого подхода к безопасности. А вот обычно те, кто добродушно делятся своим кодом, о безопасности, похоже, и не слышали. Потому и оказывают медвежью услугу.&lt;/p&gt;

&lt;p&gt;Ошибки и ворнинги php-интерпретатора в браузере видели все — такое есть на каждом &lt;i&gt;n&lt;/i&gt;-ом сайте. И каждый мог судить о некомпетентности программистов написавших тот сайт или скрипт. А вы тоже хотите афишировать свою безграмотность? Чтоб вас также само судили? Нет? Тогда нечего выводить интимные подробности тому, кому они не предназначены:&lt;/p&gt;

&lt;p&gt;&lt;code style=&quot;padding:0.7em; border: 1px dashed #2f6fab; font-family: &amp;apos;Courier New&amp;apos;, Courier, monospace; font-weight: normal; background-color:#f9f9f9; overflow: auto; display: block; white-space: nowrap;&quot;&gt;
error_reporting(&lt;span style=&quot;color: red;&quot;&gt;&apos;E_NONE&apos;&lt;/span&gt;);
&lt;/code&gt;&lt;/p&gt;

В то же время показываем их только тому, кому нужно (ни в коем случае не глушите все ошибки &quot;ухом&quot; - @. Это плохо кончится):
&lt;ol&gt;

&lt;li&gt;в php.ini: 
&lt;p&gt;&lt;code style=&quot;padding:0.7em; border: 1px dashed #2f6fab; font-family: &amp;apos;Courier New&amp;apos;, Courier, monospace; font-weight: normal; background-color:#f9f9f9; overflow: auto; display: block; white-space: nowrap;&quot;&gt;
log_errors &lt;span style=&quot;color: red;&quot;&gt;=&lt;/span&gt; on&lt;br /&gt;
error_log &lt;span style=&quot;color: red;&quot;&gt;=&lt;/span&gt; /var/logs/php/errlog.txt
&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;в .htaccess
&lt;p&gt;&lt;code style=&quot;padding:0.7em; border: 1px dashed #2f6fab; font-family: &amp;apos;Courier New&amp;apos;, Courier, monospace; font-weight: normal; background-color:#f9f9f9; overflow: auto; display: block; white-space: nowrap;&quot;&gt;
 php_flag log_errors on&lt;br /&gt;
 php_value error_log /var/logs/php/errlog.txt
&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;в коде php-скрипта
&lt;p&gt;&lt;code style=&quot;padding:0.7em; border: 1px dashed #2f6fab; font-family: &amp;apos;Courier New&amp;apos;, Courier, monospace; font-weight: normal; background-color:#f9f9f9; overflow: auto; display: block; white-space: nowrap;&quot;&gt;
 log_errors(&lt;span style=&quot;color: red;&quot;&gt;&quot;on&quot;&lt;/span&gt;);&lt;br /&gt;
 error_log(&lt;span style=&quot;color: red;&quot;&gt;&quot;/var/logs/php/errlog.txt&quot;&lt;/span&gt;);
&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Ну и пару слов про почту.&lt;/p&gt;
&lt;p&gt;Никогда не следует надеяться на функцию &lt;i&gt;mail&lt;/i&gt; — письмо может так и не дойти до адресата, и вы никогда об этом не узнаете. И не надо говорить, что ваш &lt;i&gt;sendmail&lt;/i&gt; работает безупречно — дело может быть вовсе не в нем: мало ли чего может приключиться с письмом по пути к точке назначения. Так что логируйте все тексты писем, которые вы отправляете — если даже посылка и не дойдет куда нужно, то она, по крайней мере, не пропадет безвозвратно. И, быть может, вы не потеряете клиента.&lt;/p&gt;
&lt;p&gt;SQL-запросы экранируете? Будьте добры экранировать передаваемые в &lt;i&gt;mail&lt;/i&gt; хидера (обычно это &lt;i&gt;From&lt;/i&gt;, &lt;i&gt;Reply-To&lt;/i&gt;, &lt;i&gt;Subject&lt;/i&gt;). Иначе не удивляйтесь, что ваш мейл-сервер занесли в черный список как злобного спаммера. Достаточно просто &quot;резать&quot; все переносы строк в этих полях (они обязаны быть однострочными).&lt;/p&gt;

&lt;p&gt;На последок. Как говорил вождь, учится, учится, и никогда не расслабляться. Помните: выживут только параноики :)&lt;/p&gt;</description>
  <comments>https://8vmr.livejournal.com/12581.html?view=comments#comments</comments>
  <category>web</category>
  <category>security</category>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
  </item>
  <item>
  <guid isPermaLink='true'>https://8vmr.livejournal.com/12318.html</guid>
  <pubDate>Sat, 21 Mar 2009 11:58:21 GMT</pubDate>
  <title>...</title>
  <author>8vmr</author>
  <link>https://8vmr.livejournal.com/12318.html</link>
  <description>юзая больше копипастче пишем код мы фастче...</description>
  <comments>https://8vmr.livejournal.com/12318.html?view=comments#comments</comments>
  <category>one-liner</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
  </item>
  <item>
  <guid isPermaLink='true'>https://8vmr.livejournal.com/11953.html</guid>
  <pubDate>Sat, 21 Feb 2009 12:37:49 GMT</pubDate>
  <title>Browser Security Handbook</title>
  <author>8vmr</author>
  <link>https://8vmr.livejournal.com/11953.html</link>
  <description>&lt;img src=&quot;https://imgprx.livejournal.net/deb724ef261297d6c7c56f761b6576fa68c31d33/4su6aF4hvhJtNdpq-4ceXIWpbz8A6J-VTiBPyiWgVa5T9WDGK7JOK8kXlMA10nWf-hKiwCJJekoJCVOowK0Y_fztfCmeKi3fsRVrkmJcdqpvWiSwzN7cuPAhhzvR7dXv&quot; width=&quot;200&quot; height=&quot;181&quot; border=&quot;0&quot; style=&quot;float: right&quot; vspace=&quot;10px&quot; hspace=&quot;10px&quot; alt=&quot;Browser Malware&quot; fetchpriority=&quot;high&quot; /&gt;Перешедший чуть более года назад в Google &lt;a href=&quot;http://en.wikipedia.org/wiki/Michal_Zalewski&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;Михал Залевски (Michal Zalewski)&lt;/a&gt;, ранее известный по ряду уязвимостей, обнаруженных им в различных браузерах, опубликовал &lt;a href=&quot;http://code.google.com/p/browsersec/wiki/Main&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;Browser Security Handbook&lt;/a&gt; — обзор подходов к обеспечению безопасности в браузерах вместе со сводными таблицами, описывающими эффективность их реализации (равно как и наличие таковой) в девяти версиях современных браузеров — от IE6 до Chrome. 
&lt;br /&gt;
&lt;p&gt;Проект предназначен для сбора и классификации различных проблем, связаных с безопасностью, в различных браузерах.
Рассматриваются такие неявные, неизвестные или плохо документированые вещи, как:&lt;/p&gt;&lt;ul style=&quot;margin-top: 0px; margin-bottom: 0px;&quot;&gt; 
&lt;li&gt;обработка и интерпретация URL&apos;ов (включая Юникод, схему file://)&lt;/li&gt;
&lt;li&gt;работа с протоколом HTTP, способы обработки поступающего контента (включая интерпретацию content-disposition, трюки с content-type и пр.)&lt;/li&gt;
&lt;li&gt;использование браузерного кеша&lt;/li&gt;
&lt;li&gt;работа с куками&lt;/li&gt;
&lt;li&gt;обработка HTML&apos;я, DOM&lt;/li&gt;
&lt;li&gt;стандартные политики безопасности применительно к DOM&apos;у, Java, Falsh, Silverlight и т.д. и т.п.&lt;/li&gt;
&lt;li&gt;экспериментальные и устаревшие, но еще используемые, механизмы безопасности&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;и многое много другое.&lt;/p&gt;

&lt;a href=&quot;http://code.google.com/p/browsersec/wiki/Main&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;&lt;p style=&quot;color: blue&quot;&gt;&amp;gt;&amp;gt;&amp;gt; Рекомендуется к обязательному прочтению и распространению &amp;lt;&amp;lt;&amp;lt;&lt;/p&gt;&lt;/a&gt;</description>
  <comments>https://8vmr.livejournal.com/11953.html?view=comments#comments</comments>
  <category>web</category>
  <category>security</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
  </item>
  <item>
  <guid isPermaLink='true'>https://8vmr.livejournal.com/11552.html</guid>
  <pubDate>Mon, 09 Feb 2009 21:39:06 GMT</pubDate>
  <title>The Zen of Python</title>
  <author>8vmr</author>
  <link>https://8vmr.livejournal.com/11552.html</link>
  <description>&lt;img src=&quot;https://imgprx.livejournal.net/228cb235adadf74d7176879785b9ecd3084c43f4/4su6aF4hvhJtNdpq-4ceXIWpbz8A6J-VTiBPyiWgVa5T9WDGK7JOK8kXlMA10nWfVzJEI5KhTWO3ScHkKlbNDt-957x3W8FE0-3EhNGxlw4mJQKg51baVZbcTLc4Bhih&quot; width=&quot;200&quot; height=&quot;200&quot; border=&quot;0&quot; style=&quot;float: right&quot; vspace=&quot;10px&quot; hspace=&quot;10px&quot; alt=&quot;The Zen of Python&quot; fetchpriority=&quot;high&quot; /&gt;     Beautiful is better than ugly.&lt;br /&gt;    Explicit is better than implicit.&lt;br /&gt;    Simple is better than complex.&lt;br /&gt;    Complex is better than complicated.&lt;br /&gt;    Flat is better than nested.&lt;br /&gt;    Sparse is better than dense.&lt;br /&gt;    Readability counts.&lt;br /&gt;    Special cases aren&apos;t special enough to break the rules.&lt;br /&gt;    Although practicality beats purity.&lt;br /&gt;    Errors should never pass silently.&lt;br /&gt;    Unless explicitly silenced.&lt;br /&gt;    In the face of ambiguity, refuse the temptation to guess.&lt;br /&gt;    There should be one &lt;b&gt;and preferably only one&lt;/b&gt; obvious way to do it.&lt;br /&gt;    Although that way may not be obvious at first unless you&apos;re Dutch.&lt;br /&gt;    Now is better than never.&lt;br /&gt;    Although never is often better than &lt;b&gt;right&lt;/b&gt; now.&lt;br /&gt;    If the implementation is hard to explain, it&apos;s a bad idea.&lt;br /&gt;    If the implementation is easy to explain, it may be a good idea.&lt;br /&gt;    Namespaces are one honking great idea — let&apos;s do more of those!</description>
  <comments>https://8vmr.livejournal.com/11552.html?view=comments#comments</comments>
  <category>python</category>
  <category>программинг</category>
  <media:title type="plain">Lyriel - The Autumn Days</media:title>
  <lj:music>Lyriel - The Autumn Days</lj:music>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
  </item>
  <item>
  <guid isPermaLink='true'>https://8vmr.livejournal.com/11377.html</guid>
  <pubDate>Wed, 14 Jan 2009 21:34:57 GMT</pubDate>
  <title>Qt becomes LGPL licensed</title>
  <author>8vmr</author>
  <link>https://8vmr.livejournal.com/11377.html</link>
  <description>&lt;img src=&quot;https://imgprx.livejournal.net/86fa2e72ea533b057b0cd4ee205753499c99003f/4su6aF4hvhJtNdpq-4ceXIWpbz8A6J-VTiBPyiWgVa5T9WDGK7JOK8kXlMA10nWfahc4JMkwtDMF47fjh7DcSAN76L4hINTmBJjrVRgriqdG80hIyyCjhWvTJowMC4ZA&quot; width=&quot;200&quot; height=&quot;200&quot; border=&quot;0&quot; style=&quot;float: right&quot; vspace=&quot;10px&quot; hspace=&quot;10px&quot; alt=&quot;Qt becomes LGPL licensed&quot; fetchpriority=&quot;high&quot; /&gt;Компания Nokia &lt;a href=&quot;http://www.qtsoftware.com/about/news/lgpl-license-option-added-to-qt&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;объявила&lt;/a&gt;, что начиная с версии 4.5 (ориентировнчно март 2009) платформа Qt будет доступна также под лицензией LGPL 2.1. &lt;br /&gt;Это означает что разработчики могут использовать более либеральную, по сравнению с GPL, схему лицензирования. Другими словами, это даcт возможность &lt;u&gt;бесплатно&lt;/u&gt; использовать библиотеку Qt для коммерческого ПО.&lt;br /&gt;&lt;br /&gt;За столь щедрым жестом компании стоит тот факт, что в отличии от Trolltech, Nokia не ставит целью заработать на Qt. Ее стратегия продолжает линию «10х», анонсированную в прошлом году, суть которой сводится к десятикратному увеличению количества разработчиков и пользователей библиотеки. Такая популяризация позволит компании расширить клиентскую базу именно за счет большего числа коммерческих разработчиков и является заключительным этапом кампании «Qt повсюду» (&quot;Qt Everywhere&quot;).&lt;br /&gt;____&lt;br /&gt;&lt;br /&gt;Бесплатно — это хорошо, но что дальше? Дальше есть надежада, что Embarcadero все же сможет включить поддержку Linux в следующей версии Delphi (Comodore, середина 2010-го года). Ну или в следующей.&lt;br /&gt;&lt;br /&gt;На самом деле, это может означать, мы, наконец, сможем получить основательно преработанную и &quot;подчищенную&quot; &lt;a href=&quot;http://en.wikipedia.org/wiki/Component_Library_for_Cross_Platform&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;CLX&lt;/a&gt; позволяющую писать кроссплатформенные программы, в нативном для платформы коде. Это означает, что заброшенный &lt;a href=&quot;http://ru.wikipedia.org/wiki/Kylix&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;Kylix&lt;/a&gt; может возродится.&lt;br /&gt;&lt;br /&gt;Но пойдем дальше. Если архитектура компонентов Delphi будет пересмотрена в пользу  возможности создания настоящих Qt виджетов, то выиграют все. Embarcadero сможет расширить свою базу клиентов за счет компоненто-писателей для Qt. А те тоже будут плодится как грибы в благоприятных условиях — это как освоение целины: Qt не имеет большого выбора из сторонних компонентов, и такие компании как DevExpress или ТМС, смогут сделать неплохой апгрейд к ее базе виджетов. Ну и по понятным причинам выиграет сама Qt.</description>
  <comments>https://8vmr.livejournal.com/11377.html?view=comments#comments</comments>
  <category>программинг</category>
  <category>delphi</category>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
  </item>
  <item>
  <guid isPermaLink='true'>https://8vmr.livejournal.com/11164.html</guid>
  <pubDate>Sun, 07 Dec 2008 20:33:05 GMT</pubDate>
  <title>first meet...</title>
  <author>8vmr</author>
  <link>https://8vmr.livejournal.com/11164.html</link>
  <description>...&lt;br /&gt;&lt;b&gt;Lt. Sarah Kerrigan:&lt;/b&gt; &lt;i&gt;Captain Raynor, I&apos;ve finished scouting out the area, and... you pig!&lt;/i&gt; &lt;br /&gt;&lt;b&gt;Jim Raynor:&lt;/b&gt; &lt;i&gt;What! I haven&apos;t even said anything to you yet.&lt;/i&gt; &lt;br /&gt;&lt;b&gt;Lt. Sarah Kerrigan:&lt;/b&gt; &lt;i&gt;Yeah, but you were thinking it. &lt;/i&gt;&lt;br /&gt;&lt;b&gt;Jim Raynor:&lt;/b&gt; &lt;i&gt;Oh, yeah! you&apos;re a telepath.&lt;/i&gt;&lt;br /&gt;...</description>
  <comments>https://8vmr.livejournal.com/11164.html?view=comments#comments</comments>
  <category>игры</category>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
  </item>
  <item>
  <guid isPermaLink='true'>https://8vmr.livejournal.com/10872.html</guid>
  <pubDate>Tue, 02 Dec 2008 11:47:11 GMT</pubDate>
  <title>Дзен</title>
  <author>8vmr</author>
  <link>https://8vmr.livejournal.com/10872.html</link>
  <description>Читать нужно быстро:&lt;br /&gt;&lt;br /&gt;&lt;i style=&quot;display: block; padding-left: 2em&quot;&gt;Мандатное управление доступом(англ. Mandatory access control, MAC) — разграничение доступа субъектов к объектам, основанное на назначении метки конфиденциальности для информации, содержащейся в объектах, и выдаче официальных разрешений (допуска) субъектам на обращение к информации такого уровня конфиденциальности.&lt;br /&gt;&lt;a href=&quot;http://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D0%BD%D0%B4%D0%B0%D1%82%D0%BD%D0%BE%D0%B5_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BE%D0%BC&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;© Wikipedia&lt;/a&gt;&lt;/i&gt;</description>
  <comments>https://8vmr.livejournal.com/10872.html?view=comments#comments</comments>
  <category>wtf</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
  </item>
  <item>
  <guid isPermaLink='true'>https://8vmr.livejournal.com/10160.html</guid>
  <pubDate>Tue, 25 Nov 2008 17:24:33 GMT</pubDate>
  <title>Здравствуй, мир!</title>
  <author>8vmr</author>
  <link>https://8vmr.livejournal.com/10160.html</link>
  <description>&lt;a href=&quot;http://www.roesler-ac.de/wolfram/hello.htm&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;Hello world на трехстах языках программирования&lt;/a&gt;</description>
  <comments>https://8vmr.livejournal.com/10160.html?view=comments#comments</comments>
  <category>всякое</category>
  <category>программинг</category>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
  </item>
  <item>
  <guid isPermaLink='true'>https://8vmr.livejournal.com/9915.html</guid>
  <pubDate>Mon, 24 Nov 2008 18:54:28 GMT</pubDate>
  <title>Забавный спам</title>
  <author>8vmr</author>
  <link>https://8vmr.livejournal.com/9915.html</link>
  <description>&lt;img src=&quot;https://imgprx.livejournal.net/d491910f8a9141548e0d152e417fe9330e88ea05/4su6aF4hvhJtNdpq-4ceXIWpbz8A6J-VTiBPyiWgVa5T9WDGK7JOK8kXlMA10nWfnFci_GuYUNJ84BKShlBKKnabgKv2q-R0IOlTNo4SJcBNeL79cj4wBQxMwBzOG89a&quot; border=&quot;0&quot; alt=&quot;spam.jpg&quot; title=&quot;spam.jpg&quot; width=&quot;200&quot; height=&quot;166&quot; vspace=&quot;10px&quot; hspace=&quot;10px&quot; style=&quot;float: right&quot; fetchpriority=&quot;high&quot; /&gt;

&lt;p&gt;Полезно вести логи. Полезно вести логи всего и вся что происходит с сервером. Также полезно их просматривать... Хотябы изредка :).&lt;/p&gt;
&lt;p&gt;... Никогда не думал что банальный спам, отфильтрованный фильтрами, может быть таким забавным! Среди сотен предложений  революционных средств по увеличению мужского достоинства попадаются и настоящие перлы:&lt;/p&gt;

&lt;p&gt;От уныло-похвальных...
&lt;div style=&quot;margin:0 2em 0 2em;font-style:italic&quot;&gt;
  Very nice design ;) Good work,webmaster!&lt;br /&gt;
  It&apos;s a very good site !! Very nice work, admin :) Good luck !&lt;br /&gt;
  Thanks for all you do in helping me fulfill my dreams.&lt;br /&gt;
  Yo have nice site, admin! keep up good work man!&lt;br /&gt;
  Wow!! It&apos;s getting better and better. Keep it up man.&lt;br /&gt;
  I think your site is very good and complete, but the information you have here&lt;br /&gt;
  Wow!! It&apos;s getting better and better.&lt;br /&gt;
  I love this site so so so much :) Cool site!!&lt;br /&gt;
  I love you so much! Great place to visit!&lt;br /&gt;
&lt;/div&gt;
&lt;/p&gt;

&lt;p&gt;Весьма забавных...
&lt;div style=&quot;margin:0 2em 0 2em;font-style:italic&quot;&gt;
  Grant you just made yourself something to do with it&lt;br /&gt;
  Yep you are jack our maniac in my chat box and your mental here&lt;br /&gt;
  I love the great insight!&lt;br /&gt;
  we better get on the tinatic because sinking is rising on saturday morning!&lt;br /&gt;
  Not much on my mind worth mentioning. What can I say? I haven&apos;t been up to much lately. It&apos;s not important. Oh well.&lt;br /&gt;
  I&apos;ve just been sitting around waiting for something to happen.&lt;br /&gt;
  Greetings! and test of guestbook, coming up here to show love to the site.&lt;br /&gt;
  Not bad... Not bad.&lt;br /&gt;
  Not bad... Not bad.&lt;br /&gt;
&lt;/div&gt;
&lt;/p&gt;

&lt;p&gt;До просто настоящих приколов:
&lt;div style=&quot;margin:0 2em 0 2em;font-style:italic&quot;&gt;
DAESH ONOTOLE V PRAVITELI VSELENNOI!&lt;br /&gt;
DAESH ONOTOLE V PRAVITELI VSELENNOI!&lt;br /&gt;
Im nuts with big nuts, i love saying that XD&lt;br /&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;br /&gt;

Интересно еще то, что во многих случаях спам не рекламирует чего либо: там просто нету ссылки! Хотя, судя по введенному полю капчи и повторам, форму заполнял робот.</description>
  <comments>https://8vmr.livejournal.com/9915.html?view=comments#comments</comments>
  <category>web</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
  </item>
  <item>
  <guid isPermaLink='true'>https://8vmr.livejournal.com/9482.html</guid>
  <pubDate>Sun, 23 Nov 2008 21:46:10 GMT</pubDate>
  <title>Помним....</title>
  <author>8vmr</author>
  <link>https://8vmr.livejournal.com/9482.html</link>
  <description>&lt;a href=&quot;http://www.picamatic.com/view/1424960_candle/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;https://imgprx.livejournal.net/96327371bb9129cb39f313e21dd4b92b44a7a769/4su6aF4hvhJtNdpq-4ceXIWpbz8A6J-VTiBPyiWgVa5T9WDGK7JOK8kXlMA10nWf3xJYKhhgSewkivDU8xFyHVA_84G9ZBjdkFax9NEAgilMZfhWBwLs5sBdWrn-_Kfs&quot; border=&quot;0&quot; alt=&quot;candle.jpg&quot; title=&quot;candle.jpg&quot; width=&quot;210&quot; height=&quot;240&quot; vspace=&quot;10&quot; hspace=&quot;10&quot; style=&quot;float: right&quot; fetchpriority=&quot;high&quot; /&gt;&lt;/a&gt;&lt;br /&gt;День памяти голодомора... 75 годовщина...&lt;br /&gt;...&lt;br /&gt;&lt;i&gt;«Голод 1932–1933 годов в Советском Союзе не был направлен на уничтожение какой-либо отдельной нации. Он стал следствием засухи и проводившихся в отношении всей страны, а не одной только Украины, насильственной коллективизации и раскулачивания»&lt;/i&gt; — это слова Медведева, и официальная позиция России. Ладно, фиг с ним, Медведевым: на то он и политик чтоб быть поуши в грязи (все политики такие). Но обычные граждане... почитать на форумах, то, что думают &quot;рядовые&quot; россияне...&lt;br /&gt;&lt;br /&gt;Ну как можно отрицать то, что было? Как можно отрицать очевидцев? Какое право &quot;они&quot; имеют решать за &quot;нас&quot;? &quot;Они&quot; там были? &quot;Они&quot; видели? У &quot;них&quot; есть среди родственников бабушки и дедушки, которые с ужасом вспоминают &quot;&lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;source=web&amp;amp;ct=res&amp;amp;cd=2&amp;amp;url=http%3A%2F%2Fru.wikipedia.org%2Fwiki%2F%D0%97%D0%B0%D0%BA%D0%BE%D0%BD_%D0%9E%D0%B1_%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D0%B5_%D0%B8%D0%BC%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B0_%D0%B3%D0%BE%D1%81%D1%83%D0%B4%D0%B0%D1%80%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D1%85_%D0%BF%D1%80%D0%B5%D0%B4%D0%BF%D1%80%D0%B8%D1%8F%D1%82%D0%B8%D0%B9%2C_%D0%BA%D0%BE%D0%BB%D1%85%D0%BE%D0%B7%D0%BE%D0%B2_%D0%B8_%D0%BA%D0%BE%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%B8%D0%B2%D0%BE%D0%B2_%D0%B8_%D1%83%D0%BA%D1%80%D0%B5%D0%BF%D0%BB%D0%B5%D0%BD%D0%B8%D0%B8_%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D0%B9_%D1%81%D0%BE%D0%B1%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;amp;ei=e4gpSc7KFJbe0gXtqfCyAQ&amp;amp;usg=AFQjCNHfK-Cqd9LaVXQBp5ntxgOgK0jyPA&amp;amp;sig2=6rodCI-TqL3K6dtQR_uEhw&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;закон о пяти колосках&lt;/a&gt;&quot;? &quot;Они&quot; знают, что &quot;не выполнившие план колхозы распускались или в &lt;i&gt;них менялось правление&lt;/i&gt;, имущество единоличников-контрактантов описывалось и продавалось, твердосдатчики &lt;i&gt;высылались на выселки&lt;/i&gt;, в ряде колхозов по местной инициативе &lt;i&gt;изымался посевной материал&lt;/i&gt;, на уровне районов проводилась замена руководства и &lt;i&gt;ограничение в поставке промышленных товаров&lt;/i&gt;&quot;. И это в самой &quot;голодающей&quot; стране. &quot;Они&quot; знают, как у крестьян отбиралось последнее?&lt;br /&gt;&lt;br /&gt;С каких это пор после далеко не самой сильной засухи (бывало и похуже, да) умирали с голоду МИЛЛИОНЫ? Почему если умирающий с голоду крестьянин подбирал &quot;пять колосков&quot; на (!!!) уже собранном поле его судили на расстрел, без возможности амнистии? Где такое видано?&lt;br /&gt;&lt;br /&gt;Россияне, у вас совесть есть? Какое вы имеете право решать за &quot;нас&quot;?</description>
  <comments>https://8vmr.livejournal.com/9482.html?view=comments#comments</comments>
  <category>c&apos;est la vie</category>
  <media:title type="plain">L&apos;Âme Immortelle - Will You</media:title>
  <lj:music>L&apos;Âme Immortelle - Will You</lj:music>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
  </item>
  <item>
  <guid isPermaLink='true'>https://8vmr.livejournal.com/9452.html</guid>
  <pubDate>Tue, 04 Nov 2008 19:58:19 GMT</pubDate>
  <title>Cинтаксис oO</title>
  <author>8vmr</author>
  <link>https://8vmr.livejournal.com/9452.html</link>
  <description>Нифига себе! Незнал что такая штука работает в дельфе:&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;padding:0.7em;border:1px dashed #2f6fab;font-family:&amp;apos;font-weight:normal;background-color:#f9f9f9;overflow:auto;display:block;white-space:nowrap&quot;&gt;&lt;pre&gt;&lt;b&gt;case&lt;/b&gt; i &lt;b&gt;of&lt;/b&gt;
 0: ;
 1: ;
 &lt;b&gt;else&lt;/b&gt;  &lt;i&gt;// Несколько операторов вне блока begin..end !!!!&lt;/i&gt;
   D:=SQRT(abs(sin(random)*cos(random)));
   D:=SQRT(abs(sin(random)*cos(random)));
   D:=SQRT(abs(sin(random)*cos(random)));
&lt;b&gt;end&lt;/b&gt;;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;Работает как в Delphi7 так и в Delphi 2009</description>
  <comments>https://8vmr.livejournal.com/9452.html?view=comments#comments</comments>
  <category>программинг</category>
  <category>delphi</category>
  <media:title type="plain">Penumbra - Seclusion</media:title>
  <lj:music>Penumbra - Seclusion</lj:music>
  <lj:security>public</lj:security>
  <lj:reply-count>6</lj:reply-count>
  </item>
  <item>
  <guid isPermaLink='true'>https://8vmr.livejournal.com/9197.html</guid>
  <pubDate>Tue, 04 Nov 2008 18:34:29 GMT</pubDate>
  <title>Pathological Interfaces III: счетчики ссылок</title>
  <author>8vmr</author>
  <link>https://8vmr.livejournal.com/9197.html</link>
  <description>&lt;img src=&quot;https://imgprx.livejournal.net/381ec5d6d1f4eda962ab105ad24e3aed7029c9ac/4su6aF4hvhJtNdpq-4ceXIWpbz8A6J-VTiBPyiWgVa5T9WDGK7JOK8kXlMA10nWftrO26HYiZq_I38S1TUeZt0PgEgjeBQng6nwFwsEjWO5vNMsLTCn0yiNE6VIl9kXe&quot; width=&quot;200&quot; height=&quot;200&quot; border=&quot;0&quot; style=&quot;float: right&quot; vspace=&quot;10px&quot; hspace=&quot;10px&quot; alt=&quot;WTF?&quot; fetchpriority=&quot;high&quot; /&gt;Не совсем патология. Но знать полезно.&lt;br /&gt;&lt;br /&gt;Вопрос: с какой целью в реализациях IUnknown.Release используют  InterlockedDecrement? Наверное, для потокобезопасности. Но реализация Release вовсе не выглядит потокобезопасной: что будет если другой поток в этот момент вызовет IUnknown.AddRef? &lt;br /&gt;&lt;br /&gt;На пальцах:&lt;br /&gt;&lt;br /&gt;1. Поток 1 проверяет валидность и копирует указатель на интерфейс&lt;br /&gt;2. Выполняется переключение контекста. Управление передается потоку 2&lt;br /&gt;3. Поток 2 вызывает Release(). Счетчик ссылок достигает нуля. Объект уничтожается. Указатель зануливается&lt;br /&gt;4. Переключение контекста. Передача управления обратно в поток 1&lt;br /&gt;5. Поток 1 для скопированного указателя (уже невалидного) вызывает AddRef(). Бабах!!!&lt;br /&gt;&lt;br /&gt;Баг или фича? Решать вам.&lt;br /&gt;(Хм, наверное для устранения сей баго/фичи и придумали межпотоковый маршаллинг интерфейсов ☺)&lt;br /&gt;&lt;br /&gt;Ссылки:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href=&quot;http://blogs.msdn.com/oldnewthing/archive/2008/11/03/9030246.aspx&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;If there&apos;s already a bug, it&apos;s not surprising that there&apos;s a possibility for error&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://blogs.msdn.com/oldnewthing/archive/2005/09/28/474855.aspx#474998&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;Avoiding double-destruction when an object is released&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://8vmr.livejournal.com/3848.html&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;Pathological Interfaces I: QueryInterface&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://8vmr.livejournal.com/6787.html&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;Pathological Interfaces II: маршалинг&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://8vmr.livejournal.com/9197.html&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;Pathological Interfaces III: счетчики ссылок&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&lt;a name=&apos;cutid1-end&apos;&gt;&lt;/a&gt;</description>
  <comments>https://8vmr.livejournal.com/9197.html?view=comments#comments</comments>
  <category>com</category>
  <category>c++</category>
  <category>программинг</category>
  <category>delphi</category>
  <media:title type="plain">The 69 Eyes - Never Say Die</media:title>
  <lj:music>The 69 Eyes - Never Say Die</lj:music>
  <lj:security>public</lj:security>
  <lj:reply-count>2</lj:reply-count>
  </item>
  <item>
  <guid isPermaLink='true'>https://8vmr.livejournal.com/8957.html</guid>
  <pubDate>Fri, 24 Oct 2008 20:02:57 GMT</pubDate>
  <title>Вот такая вот штука</title>
  <author>8vmr</author>
  <link>https://8vmr.livejournal.com/8957.html</link>
  <description>&lt;p&gt;Сегодня очередной раз, сидя  за отладкой, обнаружил интересную особенность дельфовского компилятора. Ну не то чтоб особенность, но данная штука для меня была не очевидной.&lt;/p&gt;

&lt;p&gt;Итак, код:&lt;/p&gt;&lt;div style=&quot;padding:0.7em;border:1px dashed #2f6fab;font-family:&amp;apos;font-weight:normal;background-color:#f9f9f9;overflow:auto;display:block;white-space:nowrap&quot;&gt;&lt;pre&gt;&lt;b&gt;procedure&lt;/b&gt; Foo;
  &lt;b&gt;function&lt;/b&gt; Bar: string;
  &lt;b&gt;var&lt;/b&gt;
    i: integer;
  &lt;b&gt;begin&lt;/b&gt;
    &lt;b&gt;for&lt;/b&gt; i := 1 &lt;b&gt;to&lt;/b&gt; 5 &lt;b&gt;do&lt;/b&gt;
      Result := Result + IntToStr(i);
  &lt;b&gt;end;&lt;/b&gt;
&lt;b&gt;var&lt;/b&gt;
  i: integer;
&lt;b&gt;begin&lt;/b&gt;
  &lt;b&gt;for&lt;/b&gt; i := 1 &lt;b&gt;to&lt;/b&gt; 5 &lt;b&gt;do&lt;/b&gt;
    Writeln(Bar);
&lt;b&gt;end;&lt;/b&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Что не так? Забыл инициализировать Result? &lt;/p&gt;

&lt;p&gt;Хех, менеджед-типы инициализируются автоматически при входе во scope (тем более что ни D7 ни D2009 даже не пискнули о неинициализированном &lt;i&gt;Result&lt;/i&gt;), ответил бы я, да не тут то было....&lt;/p&gt;

&lt;p&gt;Вот вывод:&lt;/p&gt;&lt;div style=&quot;padding:0.7em;border:1px dashed #2f6fab;font-family:&amp;apos;font-weight:normal;background-color:#f9f9f9;overflow:auto;display:block;white-space:nowrap&quot;&gt;&lt;pre&gt;12345
1234512345
123451234512345
12345123451234512345
1234512345123451234512345&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Оказывается, что для локальных процедур не создается отдельный фрейм стека, а используется  фрейм родителя. Потому &lt;i&gt;Result&lt;/i&gt; и хранила состояние от предыдущего вызова. Вот так вот.&lt;/p&gt;</description>
  <comments>https://8vmr.livejournal.com/8957.html?view=comments#comments</comments>
  <category>программинг</category>
  <category>delphi</category>
  <media:title type="plain">Gothminister - Wish</media:title>
  <lj:music>Gothminister - Wish</lj:music>
  <lj:security>public</lj:security>
  <lj:reply-count>5</lj:reply-count>
  </item>
  <item>
  <guid isPermaLink='true'>https://8vmr.livejournal.com/8049.html</guid>
  <pubDate>Tue, 30 Sep 2008 20:19:23 GMT</pubDate>
  <title>Адварь</title>
  <author>8vmr</author>
  <link>https://8vmr.livejournal.com/8049.html</link>
  <description>Только что зашел незалогиненым на свой блог и....&lt;br /&gt;реклама уже и до басик-аккаунтов добралась...&lt;br /&gt;&lt;br /&gt;Вот так вот. Ничего не бывает забесплатно.&lt;br /&gt;&lt;br /&gt;Теперь обьясните мне, в чем тогда разница между басик и адвансед? В количестве рекламы? )</description>
  <comments>https://8vmr.livejournal.com/8049.html?view=comments#comments</comments>
  <category>жы-журнал</category>
  <media:title type="plain">Theatre of Tragedy - The Masquerader and Phoenix</media:title>
  <lj:music>Theatre of Tragedy - The Masquerader and Phoenix</lj:music>
  <lj:security>public</lj:security>
  <lj:reply-count>2</lj:reply-count>
  </item>
  <item>
  <guid isPermaLink='true'>https://8vmr.livejournal.com/6999.html</guid>
  <pubDate>Wed, 10 Sep 2008 21:32:44 GMT</pubDate>
  <title>Software designed for the person who built it</title>
  <author>8vmr</author>
  <link>https://8vmr.livejournal.com/6999.html</link>
  <description>А как вы дизайните свой GUI?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.picamatic.com/view/983680_modern_gui/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;https://imgprx.livejournal.net/f62e7734ead88201c1fb6fd858c0b1ce467936a1/4su6aF4hvhJtNdpq-4ceXIWpbz8A6J-VTiBPyiWgVa5T9WDGK7JOK8kXlMA10nWfqNwluA-WGddlBFB5K930toAPEVtjwuNqWe8DJfeoH-N6146Sji8rfIIhk_lZIW8i&quot; border=&quot;0&quot; alt=&quot;modern_gui.png - image uploaded to Picamatic&quot; title=&quot;modern_gui.png&quot; width=&quot;307&quot; height=&quot;240&quot; fetchpriority=&quot;high&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.picamatic.com/view/983713_wgetgui-screenshot/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;https://imgprx.livejournal.net/90acac949ff59ea0fc02f90d3239e87b2b3ce328/4su6aF4hvhJtNdpq-4ceXIWpbz8A6J-VTiBPyiWgVa5T9WDGK7JOK8kXlMA10nWfGH2EHSCVIhkQ_gb2OEy53xMb1Uq7x-5Q1pZtiv2NWuSKM-_TC0HVOsJCZn4-8Ozv&quot; border=&quot;0&quot; alt=&quot;wgetgui-screenshot.png - image uploaded to Picamatic&quot; title=&quot;wgetgui-screenshot.png&quot; width=&quot;320&quot; height=&quot;222&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.picamatic.com/view/983706_filterit-confusing/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;https://imgprx.livejournal.net/0244f69b474232fb6f8ac8d8fa1b935a835485e1/4su6aF4hvhJtNdpq-4ceXIWpbz8A6J-VTiBPyiWgVa5T9WDGK7JOK8kXlMA10nWfrTF5fPrlGpVghX0kPXJGVSaktFu9L0xHDDJ1FVZwppd14An3XvGQDrbxOjX5mK94&quot; border=&quot;0&quot; alt=&quot;filterit-confusing.gif - image uploaded to Picamatic&quot; title=&quot;filterit-confusing.gif&quot; width=&quot;149&quot; height=&quot;240&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.picamatic.com/view/983859_NovellConfig/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;https://imgprx.livejournal.net/2c0cb02236ae6aecf221f4cc5dd0c0cc829bdf1d/4su6aF4hvhJtNdpq-4ceXIWpbz8A6J-VTiBPyiWgVa5T9WDGK7JOK8kXlMA10nWfF_4SwcGAmOS9w4MeG_Kulz-wF8pELLhxZcCVKR3AP-drMNBxwGKv1GqHtxxE_JGL&quot; border=&quot;0&quot; alt=&quot;NovellConfig.gif - image uploaded to Picamatic&quot; title=&quot;NovellConfig.gif&quot; width=&quot;174&quot; height=&quot;240&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.picamatic.com/view/983865_form_for_developers/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;https://imgprx.livejournal.net/3faf46c9e8c71486913a58ee11d935863daaa36a/4su6aF4hvhJtNdpq-4ceXIWpbz8A6J-VTiBPyiWgVa5T9WDGK7JOK8kXlMA10nWf9IH8IltTd99e3CFoXfarcncrFBCG0aQgQjxfFkF6-oVzpVgMCOlH826e6RuuQC2a&quot; border=&quot;0&quot; alt=&quot;form_for_developers.gif - image uploaded to Picamatic&quot; title=&quot;form_for_developers.gif&quot; width=&quot;320&quot; height=&quot;177&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.picamatic.com/view/983866_mediacoder/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;https://imgprx.livejournal.net/c4572a5cff616705a4d7f07ea18542d3c95de1f2/4su6aF4hvhJtNdpq-4ceXIWpbz8A6J-VTiBPyiWgVa5T9WDGK7JOK8kXlMA10nWf9IH8IltTd99e3CFoXfarcgUuEz9TmhdvLkzvyS7b6l7skNkamPXxFxLSam5Be90t&quot; border=&quot;0&quot; alt=&quot;mediacoder.png - upload images with Picamatic&quot; title=&quot;mediacoder.png&quot; width=&quot;277&quot; height=&quot;240&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.picamatic.com/view/983869_win_wgetgui/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;https://imgprx.livejournal.net/a57527e90db5b0d17d0f30d3c14f9e2315539a55/4su6aF4hvhJtNdpq-4ceXIWpbz8A6J-VTiBPyiWgVa5T9WDGK7JOK8kXlMA10nWfMVt--u1qYT1xLBm-kzReWpWCknjWubjKp80eKDv_5PO2GXB3b0WfmtbCyMHMBdcE&quot; border=&quot;0&quot; alt=&quot;win_wgetgui.jpg - Picamatic - upload your images&quot; title=&quot;win_wgetgui.jpg&quot; width=&quot;258&quot; height=&quot;240&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.picamatic.com/view/983876_gentoo/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;https://imgprx.livejournal.net/74b903de3e0b2f5030684529e20c1aea5861de73/4su6aF4hvhJtNdpq-4ceXIWpbz8A6J-VTiBPyiWgVa5T9WDGK7JOK8kXlMA10nWfSf-KLp0s8X16ZQGZyORPZ1YZO1jFUsoCZKjDNlNgGn09fwKblS0LsnYyS2kcNloS&quot; border=&quot;0&quot; alt=&quot;gentoo.png - image uploaded to Picamatic&quot; title=&quot;gentoo.png&quot; width=&quot;196&quot; height=&quot;240&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.picamatic.com/view/983874_vtooltip/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;https://imgprx.livejournal.net/0d64764fbad5c0d5ef101665bd38d0c01758a043/4su6aF4hvhJtNdpq-4ceXIWpbz8A6J-VTiBPyiWgVa5T9WDGK7JOK8kXlMA10nWfMVt--u1qYT1xLBm-kzReWuqaMkMlltxWY1b4TNzkwSdYFlr-NpVsbRtEFKGScqVa&quot; border=&quot;0&quot; alt=&quot;vtooltip.jpg - Picamatic - upload your images&quot; title=&quot;vtooltip.jpg&quot; width=&quot;167&quot; height=&quot;185&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.picamatic.com/view/983872_sat/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;https://imgprx.livejournal.net/29edad45a5421e443a97378c4e8eaefbe0c7a64f/4su6aF4hvhJtNdpq-4ceXIWpbz8A6J-VTiBPyiWgVa5T9WDGK7JOK8kXlMA10nWfMVt--u1qYT1xLBm-kzReWgdAypsa-PEBywyzzxZrYdHTB-ROnxBXMSZIrrMIzcJX&quot; border=&quot;0&quot; alt=&quot;sat.jpg - image uploaded to Picamatic&quot; title=&quot;sat.jpg&quot; width=&quot;108&quot; height=&quot;102&quot; loading=&quot;lazy&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a name=&apos;cutid1-end&apos;&gt;&lt;/a&gt;</description>
  <comments>https://8vmr.livejournal.com/6999.html?view=comments#comments</comments>
  <category>wtf</category>
  <category>программинг</category>
  <media:title type="plain">Erben der Schöpfung - By My Side</media:title>
  <lj:music>Erben der Schöpfung - By My Side</lj:music>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
  </item>
</channel>
</rss>
